package com.googlecode.lemyriapode.implementation;

import com.googlecode.lemyriapode.regle.Regle;
import com.googlecode.lemyriapode.type.*;
import com.googlecode.lemyriapode.regle.Position;
import static com.googlecode.lemyriapode.type.Echiquier.Case.*;

/**
 * idem FMDirection1C en n'explorant qu'une case du voisinage de la piece (roi)
 * @author Gilles
 */
public class FMDirection1C extends AFPosition {

    public FMDirection1C(Regle coups) {
        super();
    }

    @Override
    public boolean continuer(int n, Position e) {
        Echiquier b = e.echiquier;
        I = b._c.Ci() + n * b.dir.u;
        J = b._c.Rj() + n * b.dir.v;
        return !Echiquier.isOut(I, J) && voisinage(n);
    }

    @Override
    public void executer(int n, Position e) {
        //  s.add(_c);
        System.out.print(getCase(I, J) + ",");
    }

    @Override
    public Object stopper(int n, Position e) {
        System.out.print("/");
        return null;
    }

    private boolean voisinage(int n) {
        return (n < 2);
    }
}
